package god;

public class J14Static {
	// static : new 연산자 없이 객체를 생성할 수 있다.
	//              모든 객체가 공통으로 사용할 대상 정의 할 때 사용 ( 모든 객체가 공통으로 사용 할 수 있다. )
	public static void main(String[] args) {
		DateUtil1 du1 = new DateUtil1();
		System.out.println( du1.sayDate() );
		DateUtil2 du2 = new DateUtil2();
		System.out.println( du2.sayDate() );
		
		System.out.println( StaticClass.sayDate() );
	}

}

class StaticClass {
	// date 변수를 DateUtil1, DateUtil2 가 사용할 수 있도록
	// 공용변수로 static 으로 정의
	// 이렇게 안하면 1,2 에서 new 연산자로 생성을 따로 해서 사용하기 때문에 메모리 많이 사용
	private static String date = "2014-03-26";
	
	public static String sayDate() {
		return date;
	}
}

class DateUtil1 {
	public String sayDate() {
		return StaticClass.sayDate();
	}
}
class DateUtil2 {
	public String sayDate() {
		return StaticClass.sayDate();
	}
}
